package com.zhejiangzhengyuan.municipal_common.entity.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.format.DateTimeFormat;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.sql.Timestamp;
import java.util.Date;
/**
 * @author lin_ju
 * Create on 2019/12/8
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="InspectionRecordQuery对象", description="用于巡检记录查询的结果封装")
public class InspectionRecordTaskDto {
    @ApiModelProperty(value = "自增主键")
    private Long id;
    @ApiModelProperty(value = "巡检周期")
    @NotNull
    private Long inspectionCycleNumber;
    @ApiModelProperty(value = "巡检周期单位")
    @ExcelProperty(value = "巡检周期单位")
    private String inspectionCycleType;
    @ApiModelProperty(value = "任务开始时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "任务开始时间")
    private Date startTime;
    @ApiModelProperty(value = "任务结束时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "任务结束时间")
    private Date endTime;
    @ApiModelProperty(value = "巡检任务标题")
    @ExcelProperty(value = "巡检任务标题")
    @NotBlank
    private String title;
    @ApiModelProperty(value = "巡检任务内容")
    @ExcelProperty(value = "巡检任务内容")
    private String context;
    @ApiModelProperty(value = "巡检结果描述,巡检中发现问题通过巡检事件上报")
    @ExcelProperty(value = "巡检任务标题")
    private String result;
    @ApiModelProperty(value = "巡检类型")
    @ExcelProperty(value = "巡检任务标题")
    private String type;
    @ApiModelProperty(value = "周期执行时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "巡检任务标题")
    private Date cycleExecuteTime;
    @ApiModelProperty(value = "巡检人")
    private Long inspectionUserInfoId;
    @ApiModelProperty(value = "即时执行时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "巡检任务标题")
    private Date immediatelyExecuteTime;
    @ApiModelProperty(value = "上报时间")
    @DateTimeFormat("yyyy-MM-dd HH:mm:ss")
    @ExcelProperty(value = "上报时间")
    private Date reportTime;
    @ApiModelProperty(value = "任务状态")
    @ExcelProperty(value = "巡检任务标题")
    private String status;
    @ApiModelProperty(value = "记录创建时间")
    private Timestamp createTime;
    @ApiModelProperty(value = "记录更新时间")
    private Timestamp updateTime;
    @ApiModelProperty(value = "道路或桥梁的code")
    @ExcelProperty(value = "道路或桥梁的code")
    @NotBlank
    private String targetId;
    @ApiModelProperty(value = "文件路径集合")
    private String linkList;

}
